package com.rtx.edi.platform.application.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rtx.edi.model.application.dto.PlApplicationLinkDtlDto;
import com.rtx.edi.model.application.dto.PlApplicationLinkDto;
import com.rtx.edi.model.application.po.PlApplicationLink;
import com.rtx.edi.model.application.po.PlApplicationLinkDtl;

/**
 * <p>
 * 应用关联表  服务类
 * </p>
 *
 * @author wq
 * @since 2023-03-14
 */
public interface PlApplicationLinkService extends IService<PlApplicationLink> {

    /**
     * 获取应用关联列表
     * @param pageParam
     * @param plApplicationLink
     */
    void selectPlApplicationList(Page<PlApplicationLink> pageParam, PlApplicationLink plApplicationLink);

    /**
     * 根据id删除应用关联
     * @param id
     */
    void deletePlApplicationLinkById(Long id);

    /**
     * 新增应用关联
     * @param plApplicationLink
     */
    void addPlApplicationLink(PlApplicationLink plApplicationLink);

    /**
     * 修改应用关联
     * @param plApplicationLink
     */
    void editPlApplicationLink(PlApplicationLink plApplicationLink);

    /**
     * 转化应用关联
     * @param plApplicationLinkDto
     * @return
     */
    PlApplicationLink convertPlApplicationLink(PlApplicationLinkDto plApplicationLinkDto);

    /**
     * 新增应用关联明细
     * @param plApplicationLinkDtl
     */
    void addPlApplicationLinkDtl(PlApplicationLinkDtl plApplicationLinkDtl);

    /**
     * 修改应用关联明细
     * @param plApplicationLinkDtl
     */
    void editPlApplicationLinkDtl(PlApplicationLinkDtl plApplicationLinkDtl);

    /**
     * 批量删除应用关联
     * @param list
     */
    void deletePlApplicationLinkByIds(List<PlApplicationLinkDtlDto> list);
    
    /**
     * 	应用关联 下拉框数据获取
     * @return
     */
    List<Map<String,Object>> selectPlAppLinkSelector();
    
    /**
     * 	应用关联环境 下拉框数据获取
     * @return
     */
    List<Map<String,Object>> selectPlAppLinkDtlSelector(PlApplicationLinkDto dto);
}
